home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #14 / Monster Media No. 14 (April 1996) (Monster Media, Inc.).ISO / pcboard / msgtag11.zip / RECOVER.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-01-30  |  3KB  |  187 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.1O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     String   STRING001
  25.     String   STRING002
  26.     String   STRING003
  27.     String   STRING004
  28.     String   STRING005
  29.     BigStr   BIGSTR001
  30.  
  31. ;------------------------------------------------------------------------------
  32.  
  33.     INTEGER002 = TokCount()
  34.     STRING004 = ReadLine(PCBDat(), 204)
  35.     STRING004 = FileInf(STRING004, 6) + ":" + FileInf(STRING004, 7)
  36.     STRING005 = STRING004 + "mtg" + String(CurConf()) + ".lst"
  37.     If (INTEGER002 < 1) Then
  38.         If (Exist(STRING005)) Then
  39.             If (FileInf(STRING005, 4) > 0) BOOLEAN001 = 1
  40.         Endif
  41.         PrintLn "@X0F*@X0D────────────────────────────────────────@X0F*"
  42.         PrintLn " @X0BEnter single numbers @X0F(@X0E1 4 9@X0F)@X0B or enter"
  43.         PrintLn " @X0Branges @X0F(@X0E1-4 6-12@X0F)@X0B of msg #'s to activate@X07"
  44.         Newline
  45.         PrintLn "      @X03Low Message Number@X0F :@X0E ", LoMsgNum()
  46.         PrintLn "      @X03High Message Number@X0F:@X0E ", HiMsgNum()
  47.         PrintLn "@X0F*@X0D────────────────────────────────────────@X0F*"
  48.         If (BOOLEAN001) Then
  49.             STRING001 = "@X0AEnter Message #(s) to Activate, @X02(@X0FTAG@X02)=@X03@X0BTagged @X03Msgs, @X0F(Enter)=none@X07"
  50.         Else
  51.             STRING001 = "@X0AEnter Message #(s) to Activate @X0F(Enter)=none@X07"
  52.         Endif
  53.         InputStr STRING001, BIGSTR001, 14, 50, " ;0123456789-DELTAG", 256 + 8
  54.         If (BIGSTR001 == "") Goto LABEL002
  55.         If (BIGSTR001 == "TAG") Gosub LABEL001
  56.         BIGSTR001 = ReplaceStr(BIGSTR001, " ", ";")
  57.         If (Right(BIGSTR001, 1) <> ";") BIGSTR001 = BIGSTR001 + ";"
  58.     Else
  59.         While (1) Do
  60.             STRING004 = GetToken()
  61.             If (STRING004 == "") Break
  62.             BIGSTR001 = BIGSTR001 + STRING004 + ";"
  63.         EndWhile
  64.         If (InStr(BIGSTR001, "-") > 1) Gosub LABEL003
  65.     Endif
  66.     STRING004 = Trim(STRING004, " ")
  67.     While (1) Do
  68.         STRING004 = Mid(BIGSTR001, 1, InStr(BIGSTR001, ";") - 1)
  69.         BIGSTR001 = Mid(BIGSTR001, InStr(BIGSTR001, ";") + 1, Len(BIGSTR001) - InStr(BIGSTR001, ";"))
  70.         If (STRING004 == "") Break
  71.         Command 0, "4 " + STRING004
  72.     EndWhile
  73.     Goto LABEL002
  74.     :LABEL001
  75.     FOpen 1, STRING005, 0, 0
  76.     FRead 1, BIGSTR001, FileInf(STRING005, 4)
  77.     FClose 1
  78.     Return
  79.     :LABEL002
  80.     KbdStuff Chr(13)
  81.     End
  82.     :LABEL003
  83.     STRING002 = BIGSTR001
  84.     BIGSTR001 = ""
  85.     Tokenize STRING002
  86.     If (TokCount() == 0) Return
  87.     For INTEGER001 = 1 To Len(STRING002)
  88.         INTEGER004 = 0
  89.         INTEGER003 = 0
  90.         STRING003 = GetToken()
  91.         If (STRING003 == "") Break
  92.         If (InStr(STRING003, "-") == 0) Then
  93.             BIGSTR001 = BIGSTR001 + STRING003 + ";"
  94.             Continue
  95.         Endif
  96.         INTEGER003 = S2I(Mid(STRING003, 1, InStr(STRING003, "-") - 1), 10)
  97.         If (INTEGER003) INTEGER004 = S2I(Mid(STRING003, InStr(STRING003, "-") + 1, Len(STRING003)), 10)
  98.         If (INTEGER004 >= INTEGER003) Then
  99.             For INTEGER002 = INTEGER003 To INTEGER004
  100.                 BIGSTR001 = BIGSTR001 + String(INTEGER002) + ";"
  101.             Next
  102.             Continue
  103.         Endif
  104.         Newline
  105.         PrintLn "@X0FEnding value is less than Starting value @X0E(@X0CEntry not processed@X0E)@X07"
  106.     Next
  107.     Return
  108.  
  109. ;------------------------------------------------------------------------------
  110. ;
  111. ; Usage report (before postprocessing)
  112. ;
  113. ; ■ Statements used :
  114. ;
  115. ;    1       End
  116. ;    22      Goto 
  117. ;    27      Let 
  118. ;    7       PrintLn 
  119. ;    19      If 
  120. ;    1       FOpen 
  121. ;    1       FClose 
  122. ;    1       InputStr 
  123. ;    2       Gosub 
  124. ;    3       Return
  125. ;    2       Newline
  126. ;    1       Tokenize 
  127. ;    1       KbdStuff 
  128. ;    1       FRead 
  129. ;    1       Command 
  130. ;
  131. ;
  132. ; ■ Functions used :
  133. ;
  134. ;    18      +
  135. ;    3       -
  136. ;    7       ==
  137. ;    1       <>
  138. ;    3       <
  139. ;    2       <=
  140. ;    2       >
  141. ;    5       >=
  142. ;    9       !
  143. ;    4       &&
  144. ;    2       ||
  145. ;    4       Len(
  146. ;    4       Mid()
  147. ;    1       Right()
  148. ;    1       Chr()
  149. ;    7       InStr()
  150. ;    1       Trim()
  151. ;    2       String()
  152. ;    1       CurConf()
  153. ;    1       PCBDat()
  154. ;    1       ReadLine()
  155. ;    2       GetToken()
  156. ;    1       Exist()
  157. ;    2       S2I()
  158. ;    4       FileInf()
  159. ;    2       TokCount()
  160. ;    1       ReplaceStr()
  161. ;    1       LoMsgNum()
  162. ;    1       HiMsgNum()
  163. ;
  164. ;------------------------------------------------------------------------------
  165. ;
  166. ; Analysis flags : d
  167. ;
  168. ; d - Access PCBOARD.DAT ■ 2
  169. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  170. ;     for many PPE so they can find various informations on the system
  171. ;     (system paths, max number of lines in messages, ...) but it may also
  172. ;     be a way to gather vital informations.
  173. ;     ■ Search for : PCBDAT()
  174. ;
  175. ;------------------------------------------------------------------------------
  176. ;
  177. ; Postprocessing report
  178. ;
  179. ;    2       For/Next
  180. ;    2       While/EndWhile
  181. ;    5       If/Then or If/Then/Else
  182. ;    0       Select Case
  183. ;
  184. ;------------------------------------------------------------------------------
  185. ;                 AEGiS Corp - Break the routines, code against the machines!
  186. ;------------------------------------------------------------------------------
  187.